It is now also possible to script the Find process. Here is the dictionary:
find in: start a new Find operation
find in all catalogs/selected catalogs/catalogs without label/catalogs with label 1/catalogs with label 2/catalogs with label 3/catalogs with label 4/catalogs with label 5/catalogs with label 6/catalogs with label 7/found items -- the selection of catalog files to be searched
first kind theName/filetype/creator/size/creation date/modification date/label -- kind of first value to be found
[first comparison fIs/fIsNot/fContains/fContainsNot/fBeginsWith/fEndsWith/fMoreThan/fLessThan/fEarlierThan/fLaterThan] -- how to compare the value
first value reference -- find String, or filetype, or creator, or size or whatever
[operator findAND/findOR] -- if two find values: how to combine them
[second kind theName/filetype/creator/size/creation date/modification date/label] -- kind of second value to be found
[second comparison fIs/fIsNot/fContains/fContainsNot/fBeginsWith/fEndsWith/fMoreThan/fLessThan/fEarlierThan/fLaterThan] -- how to compare the second value
[second value reference] -- find String, or filetype, or creator, or size or whatever
[add to found boolean] -- add the new results to the already found items, if any
[start find boolean] -- if true, then start find process immediately. If false, just set the values and activate the Find window.
[Result: integer] -- number of found items, or 0 if start find is false